package br.com.foxinline.manager.pesquisar;

import br.com.foxinline.modelo.Emolumento;
import br.com.foxinline.modelo.EmolumentoItem;
import br.com.foxinline.servico.EmolumentoItemServico;
import br.com.foxinline.servico.EmolumentoServico;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import javax.annotation.PostConstruct;
import javax.ejb.EJB;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.ViewScoped;
import javax.faces.context.FacesContext;

/**
 *
 * @author cadomeireles
 */
@ManagedBean
@ViewScoped
public class ManagerPesquisarEmolumento implements Serializable {
    
    @EJB
    EmolumentoServico emolumentoServico;
    @EJB
    EmolumentoItemServico emolumentoItemServico;
    
    private Emolumento emolumentoPesquisar;
    private List<Emolumento> emolumentos;
    private Emolumento emolumentoVisualizar;
    private List<EmolumentoItem> emolumentoItens;
    
    String visualizarId;
    
    @PostConstruct
    public void init() {
        instanciar();
        delegar();
    }

    private void instanciar() {
        this.emolumentoPesquisar = new Emolumento();
        this.emolumentos = new ArrayList<Emolumento>();    
    }
    
    private void delegar() {
        Map<String, String> parametros = FacesContext.getCurrentInstance().getExternalContext().getRequestParameterMap();
        this.visualizarId = parametros.get("emolumentoId");
        
        if (visualizarId != null) {
            this.emolumentoVisualizar = emolumentoServico.pesquisar(Long.parseLong(visualizarId));
            this.emolumentoItens = emolumentoItemServico.pesquisar(this.emolumentoPesquisar);
        }
    }
    
    public void pesquisar() {
        this.emolumentos = emolumentoServico.pesquisar(this.emolumentoPesquisar);
    }
    
    public void limpar() {
        instanciar();
    }
    
    public Emolumento getEmolumentoPesquisar() {
        return emolumentoPesquisar;
    }

    public void setEmolumentoPesquisar(Emolumento emolumentoPesquisar) {
        this.emolumentoPesquisar = emolumentoPesquisar;
    }

    public Emolumento getEmolumentoVisualizar() {
        return emolumentoVisualizar;
    }

    public void setEmolumentoVisualizar(Emolumento emolumentoVisualizar) {
        this.emolumentoVisualizar = emolumentoVisualizar;
    }
    
    public List<Emolumento> getEmolumentos() {
        return emolumentos;
    }

    public void setEmolumentos(List<Emolumento> emolumentos) {
        this.emolumentos = emolumentos;
    }

    public List<EmolumentoItem> getEmolumentoItens() {
        return emolumentoItens;
    }

    public void setEmolumentoItens(List<EmolumentoItem> emolumentoItens) {
        this.emolumentoItens = emolumentoItens;
    }
    
}
